#include "stdio.h"
#include "string.h"
#define yes 1
#define no 0


char s[82];
int newline,linewords,rest;

void reset()
{
	newline=yes;
	linewords=0;
}

void main()
{
	int i,len;
	
	reset();
	while (scanf("%s",s)!=EOF)
	{
			if (s[0]=='<')
			{
				if (s[1]=='b') printf("\n");
				else
				{
					if (!newline) printf("\n");
					for (i=1;i<=80;i++) printf("-");
					printf("\n");
				}
				reset();
				
			}
			else
			{
				len=strlen(s);
				if (newline)
				{
					printf("%s",s);
					newline=no;
					linewords+=len;					
				}
				else
				{
					rest=80-linewords-1;
					if (rest>=len)
					{
						printf(" ");
						printf("%s",s);
						linewords=linewords+len+1;
					}
					else
					{
						printf("\n");
						reset();
						printf("%s",s);
						newline=no;
						linewords+=len;
					}
				}
			}

	}
	if (!newline) printf("\n");

}

/*
问题描述：
	浏览器输出，属于字符串处理和模拟问题。
	输出规则题目已经说得很清楚，只要按照题目编各个子模块就行了。
变量说明：
	newline 代表是否是一行的开头
	linewords代表当前行已用多少字符
完成时间：
	2004/7/22
编程用时：
	70分钟
调试问题：
	一开始提交说“格式错误”，后来发现最后可能多加了一个回车，于是改后通过。	
	相关代码为:if (!newline) printf("\n");
*/